const express = require('express')
const userRouter = express.Router()
// con
const con = require('../db/db')
// 先要安装 npm install jsonwebtoken   然后引入jwt
const jwt = require('jsonwebtoken')
// 自定义密钥 就是一串自定义的字符串
const jwtSecreKey = 'notbald'

// 定义登录接口
userRouter.post('/login', (req, res) => {
  let { username, password } = req.body

  // 生成token令牌 sign({用户信息},自定义秘钥,配置参数(有效时间))
  const tokenStr = jwt.sign({ username, password }, jwtSecreKey, {
    expiresIn: '60s'  // 有效时间  60s
  })

  let sql = `select * from users where username='${username}' and password='${password}'`
  con.query(sql, (error, results) => {
    if (error) throw error
    if (results.length !== 0) { // 登录成功,需要返回状态码,描述信息,用户信息以及token值
      res.send({
        code: 200,
        message: '登录成功',
        data: results,
        // 为了方便客户端使用 Token，在服务器端直接拼接上 Bearer 的前缀
        token: 'Bearer ' + tokenStr // 将token响应给客户端
      })
    } else {
      res.send({
        code: 1000,
        message: '登录失败,重新登录!'
      })
    }
  })
})

module.exports = userRouter